package main

import (
	"fmt"
	"log"
	"strings"

	"github.com/inntu/backend/config"
)

// Item 数据库模型
type Item struct {
	ID   uint   `gorm:"primaryKey"`
	Name string `gorm:"column:name"`
	Icon string `gorm:"column:icon"`
}

func main() {
	// 连接数据库
	dbConfig := config.GetDatabaseConfig()
	err := config.InitGormDatabase(dbConfig)
	if err != nil {
		log.Fatalf("连接数据库失败: %v", err)
	}
	db := config.GetGormDB()

	// 查询所有items的icon字段
	var items []Item
	err = db.Select("id, name, icon").Order("id").Find(&items).Error
	if err != nil {
		log.Fatalf("查询数据失败: %v", err)
	}

	// 统计更新结果
	cosCount := 0
	localCount := 0

	fmt.Println("=== Items Icon 更新结果 ===")
	fmt.Printf("%-4s %-20s %-80s\n", "ID", "Name", "Icon")
	fmt.Println(strings.Repeat("-", 110))

	for _, item := range items {
		fmt.Printf("%-4d %-20s %-80s\n", item.ID, item.Name, item.Icon)
		if strings.HasPrefix(item.Icon, "https://ntu-") {
			cosCount++
		} else if strings.HasPrefix(item.Icon, "../../static/icons/") {
			localCount++
		}
	}

	fmt.Println(strings.Repeat("-", 110))
	fmt.Printf("总计: %d 条记录\n", len(items))
	fmt.Printf("已更新为COS URL: %d 条\n", cosCount)
	fmt.Printf("仍为本地路径: %d 条\n", localCount)

	if cosCount > 0 {
		fmt.Println("\n✅ 图标文件已成功上传到COS并更新数据库!")
	} else {
		fmt.Println("\n❌ 没有找到COS URL，请检查上传过程。")
	}
}